|
Menu location |
---|
Part → Primitives → Torus |
Workbenches |
Part |
Default shortcut |
None |
Introduced in version |
- |
See also |
Part Primitives |
The Part Torus command creates a parametric torus solid, a doughnut shape. It is the result of sweeping a circular profile around a circular path. In the coordinate system defined by its DadosPlacement property, the circular path of the torus lies on the XY plane with its center at the origin.
A Part Torus can be turned into a segment of a torus by changing its DadosAngle3 property. By changing its DadosAngle1 and/or DadosAngle2 properties the swept profile can become a segment of a circle.
A Part Torus object created with the scripting example below is shown here.
See also: Property editor.
A Part Torus object is derived from a Part Feature object and inherits all its properties. It also has the following additional properties:
Attachment
The object has the same attachment properties as a Part Part2DObject.
Torus
Length
): The radius of the circular path of the torus. The default is 10mm
.Length
): The radius of the circular profile of the torus. The default is 2mm
.Angle
): The start angle of the circular profile. Valid range: -180° <= value <= 180°
. The default is -180°
.Angle
): The end angle the circular profile. Valid range: -180° <= value <= 180°
. The default is 180°
. If the total angle of the circular profile is smaller than 360°
the profile will have a pie-shape.Angle
): The angle of the circular path of the torus. Valid range: 0° < value <= 360°
. The default is 360°
. If it is smaller than 360°
the resulting solid will be a segment of a torus.See also: Autogenerated API documentation, Part scripting and FreeCAD Scripting Basics.
A Part Torus can be created with the addObject()
method of the document:
torus = FreeCAD.ActiveDocument.addObject("Part::Torus", "myTorus")
"myTorus"
is the name for the object.Example:
import FreeCAD as App
doc = App.activeDocument()
torus = doc.addObject("Part::Torus", "myTorus")
torus.Radius1 = 20
torus.Radius2 = 10
torus.Angle1 = -90
torus.Angle2 = 45
torus.Angle3 = 270
torus.Placement = App.Placement(App.Vector(1, 2, 3), App.Rotation(30, 45, 10))
doc.recompute()